const int m_a[] = {
459,
986,
1455,
1851,
-706,
840,
1003,
1227,
1866,
-1546,
-1161,
1521,
-512,
-543,
-163,
1064,
-208,
-1608,
-1971,
-1168,
1931,
-912,
1620,
1279,
16,
-1993,
309,
-1520,
533,
-398,
-2004,
319,
1678,
-1849,
805,
1615,
-1311,
-1584,
-352,
253,
817,
-854,
-757,
-417,
-1883,
453,
-1076,
569,
77,
-1608,
-1150,
-1269,
1192,
-1433,
1,
-1095,
-1367,
1761,
-892,
-1040,
634,
-529,
-553,
-1672,
1378,
615,
1369,
797,
436,
1265,
-1274,
-1208,
1048,
806,
1540,
286,
-1313,
-1049,
-941,
-1710,
-2026,
-1871,
1540,
-391,
1294,
2020,
-1239,
-348,
-1208,
799,
1965,
-1187,
198,
-785,
1648,
-937,
-771,
-651,
669,
-1259,
750,
-551,
549,
843,
-806,
1990,
1229,
847,
-1380,
1936,
-922,
585,
-1239,
1641,
309,
-683,
-46,
595,
963,
-927,
-926,
-1730,
-1015,
1025,
-844,
851,
-1484,
-1998,
1965,
-1339,
-1248,
168,
-1486,
-738,
-1655,
-1792,
1615,
1341,
-1942,
-746,
-468,
570,
-182,
1153,
-801,
-1277,
-1817,
-1979,
-942,
1357,
634,
1186,
-517,
1367,
1207,
619,
1054,
1730,
-1921,
-405,
-505,
961,
692,
-1949,
316,
-1248,
-363,
1936,
8,
-483,
-494,
1292,
1276,
-1102,
1295,
1237,
-203,
900,
-1365,
1763,
-1879,
132,
72,
-1276,
-99,
1893,
431,
-659,
-1444,
-1962,
-666,
1649,
-2011,
626,
-106,
1976,
-1649,
-111,
-722,
-552,
1866,
2014,
-1751,
-357,
883,
-853,
-1353,
445,
1307,
420,
-1102,
1866,
-2018,
1019,
2036,
-1365,
286,
1749,
784,
-1062,
421,
1794,
1850,
-265,
1553,
-913,
1731,
479,
-423,
1446,
1303,
-1016,
-1864,
1400,
-857,
-76,
-290,
-614,
-1383,
-1661,
987,
-1930,
502,
-886,
-579,
-1343,
-1760,
-1657,
2012,
1340,
-1094,
-183,
-2008,
-1211,
2017,
814,
};

const int m_b[] = {
1577,
2014,
-873,
-873,
964,
66,
568,
-1664,
-233,
-1495,
-348,
-904,
1221,
1688,
-1143,
-1874,
685,
681,
1766,
1274,
379,
-859,
-1806,
1237,
-213,
-69,
862,
552,
1217,
1508,
-1696,
-1854,
1575,
952,
-1450,
1216,
-1588,
1186,
-1773,
156,
1001,
-1790,
708,
-819,
1987,
-1819,
1429,
564,
1110,
-534,
-1700,
-486,
-733,
-208,
-210,
262,
-1893,
-2046,
-1042,
-439,
1723,
-510,
2023,
393,
617,
-1485,
-1205,
1344,
-95,
-176,
184,
-728,
-401,
-1498,
1237,
-627,
-944,
1189,
1340,
-1475,
721,
839,
58,
-282,
1513,
1451,
-369,
472,
1692,
-998,
-644,
1698,
-240,
-1757,
-11,
-262,
1067,
1788,
-104,
308,
-601,
-332,
365,
459,
999,
-1744,
1582,
5,
-156,
257,
-1063,
1267,
-1902,
224,
1834,
1723,
1265,
-1771,
1519,
-1907,
1626,
287,
1205,
-1883,
-1832,
-333,
-190,
-861,
875,
-789,
-1657,
-1016,
-832,
-773,
-1980,
853,
-1420,
-1465,
-152,
-2017,
-2025,
78,
732,
1445,
1016,
-1985,
-1358,
1871,
1302,
1591,
-242,
-245,
1114,
1738,
-606,
-1689,
1983,
817,
-323,
-1496,
337,
1190,
-1058,
-1997,
-1138,
90,
-699,
1123,
1918,
1519,
-423,
719,
-1054,
804,
-1792,
2020,
834,
-1334,
-1473,
-635,
1211,
-693,
550,
-1197,
-1689,
-1472,
-1078,
480,
-160,
-347,
-1301,
-1320,
439,
2030,
-1454,
-910,
-1105,
1273,
-728,
-574,
1404,
918,
663,
529,
37,
-1584,
-391,
1259,
399,
2023,
-139,
-2028,
-2007,
-127,
-1915,
1259,
-1397,
-1069,
-399,
-75,
-1751,
-796,
-1714,
730,
-305,
1451,
-1657,
-1061,
1724,
-1329,
150,
1599,
1193,
1338,
276,
-722,
847,
-1382,
-2,
-54,
174,
403,
-307,
-1265,
1816,
964,
1394,
-985,
-307,
-1508,
931,
-1921,
-884,
-568,
-1330,
-1364,
};

const int m_exp[] = {
5384670,
2054362,
-2111646,
-79181,
2340707,
-5040114,
-1499497,
-2653614,
-7312083,
-19458914,
1770103,
-5724930,
-109531,
-5509724,
3055337,
-1931769,
-8433068,
620173,
9077916,
506820,
-5209169,
-3595409,
9668567,
-7445436,
1742273,
-1129050,
8557131,
240219,
-17669347,
6503452,
550741,
5831231,
658045,
-1462587,
-1150211,
-4049008,
-4371113,
-2326472,
3148998,
-5042625,
-11937247,
-10622867,
-4177618,
-8547819,
629394,
1493826,
6200370,
1778535,
-3043784,
-7923531,
320700,
7545410,
-1888741,
4432520,
4808160,
-3706216,
2324853,
12147400,
-264124,
2051590,
4216300,
6850706,
4514385,
-1065380,
9242468,
-5880576,
-6734402,
2283377,
-2486751,
3818203,
-8358559,
2584917,
-957063,
-3204710,
-7468226,
2883366,
8531052,
5793150,
5067228,
-1179564,
-2355386,
-2083308,
-7091033,
2036464,
-715349,
7574896,
-1435933,
6158463,
16255140,
11837353,
-1314849,
5680650,
2515470,
-9940103,
9385178,
7732964,
29064,
-4061069,
417709,
3171887,
-1297098,
2056340,
333721,
-1539238,
2423755,
1094088,
746001,
-4426568,
-5371028,
2706211,
-7430310,
-2307253,
108881,
2015,
10611401,
4574004,
-7457127,
-2764045,
-5854132,
4903186,
-5799841,
-5244893,
87205,
13813394,
-291563,
813407,
-1324820,
1326309,
2373082,
-4853466,
-4717495,
-7182439,
3859932,
4591159,
638625,
-2364919,
-12248504,
-528821,
-7984133,
-8173082,
3066682,
2986626,
1570573,
-4353076,
-4850585,
1774626,
6111981,
-3222864,
-756300,
4663474,
2103929,
-2954229,
8043753,
9092748,
-2479768,
5532518,
-13133245,
-1029284,
-12318254,
4957148,
-5617968,
984754,
2617597,
4843602,
7728047,
-5286067,
4743895,
-6294991,
5659160,
4111816,
8380555,
-6177672,
-3598961,
-2713314,
-4443070,
-6401300,
2048635,
-8782652,
1750619,
1181951,
8379839,
4455515,
4084266,
1990757,
-2272302,
3722655,
-5217181,
-1478001,
10207003,
6522582,
-895081,
-4136389,
1794473,
-12633405,
-1809618,
5500211,
-1415245,
5450449,
-5610719,
1867871,
-7137782,
665273,
-4082247,
-4678497,
6312318,
-3628415,
8592062,
1919384,
8638683,
13772745,
-8157738,
-11135638,
-912209,
2567674,
-6487338,
11352589,
2531376,
953806,
-4856719,
494236,
7884121,
-1370511,
-7895926,
6231766,
8385711,
1107956,
-2182984,
8378176,
-1380272,
9968854,
455423,
-3778323,
4926264,
-4692211,
-3214445,
5928686,
15587767,
-380079,
4636864,
-2174083,
752177,
-10736984,
-9958527,
-2198672,
7755865,
481489,
2146029,
385838,
-6256447,
3284697,
-5352261,
-11973107,
5306557,
1395442,
7507365,
-3630776,
};

#define SIZE 16
__attribute__ ((section(".heapsram"))) int g_mA[SIZE][SIZE];
__attribute__ ((section(".heapsram"))) int g_mB[SIZE][SIZE];
__attribute__ ((section(".heapsram"))) int g_mC[SIZE][SIZE];
__attribute__ ((section(".heapsram"))) int g_mB_tmp[SIZE][SIZE];
